1. Field of the Invention
The present invention relates to the field of virtual local area network (VLAN) topologies and internetwork communications technologies. In particular, the present invention relates to an aggregated VLAN network architecture used in forwarding data packets by a LAN switch connecting multiple VLANs.
2. Background Information and Description of Related Art
A VLAN is a logical grouping of networked host computers on some other basis than the physical network location (e.g. department, primary application). VLANs allow network managers to more easily manage dynamic networks where the identity and location of the network's users are constantly changing.
VLANs can be implemented in a number of different ways, depending on the network strategy. A prior art traditional layer-2 VLAN is based on a logical grouping of the layer-2 switch ports to which the hosts connect. Alternative prior art layer-2 VLANs define VLAN membership by the host's Media Access Control (MAC) layer address. An example of a port-based prior art VLAN is shown in FIG. 1. As illustrated, VLAN A 110 is defined as the set of hosts H1111, H2112, and H3113 that respectively connect to layer-2 switch S1140 ports P1141, P2142, and P3143. VLAN B 120 is defined as the set of hosts H4121 and H5122 that respectively connect to layer-2 switch S1140 ports P4144 and P5145. Prior art second-generation VLANs can also span multiple switches connected by backbone 100. For example, as illustrated, VLAN C 130 is defined as the set of hosts H6131, H7132, and H8133 that respectively connect to layer-2 switch S1140 ports P6146 and layer-2 switch S2150 ports P1151 and P2152.
Subsequent generations of prior art VLANs are embodied in layer-3 switches. Prior art layer-3 VLANs include VLANs based on the protocol type in a multi-protocol environment, or on a network-layer address such as an Internet Protocol (IP) multicast group, or a subnet address in a Transmission Control Protocol (TCP)/IP network environment. An example of a prior art layer-3 VLAN based on subnet address is shown in FIG. 2. As illustrated, VLAN D 210 is defined as the set of hosts H1211, H2212 and H3213 on subnet SN1220 that connects to layer-3 switch S3230, which in turn connects to gateway 200. VLAN E 240 is defined as the set of hosts H4241, H5242 and H6243 on subnet SN2250 that connects to layer-3 switch S3230, and so forth.
An advantage of prior art VLANs based on layer-3 information such as the subnet address, is that it allows hosts to move to a different physical port on the switch in the same VLAN without having to reconfigure the host IP addresses. In an Internet Service Provider (ISP) environment, VLAN membership is often based on the subnet address for this reason, among others.
An advantage of all prior art VLANs is that the layer-2 or layer-3 switch is able to use VLAN membership to contain network traffic. For example, traffic originating on one port is only switched to other ports belonging to the same VLAN, or traffic originating on one subnet is only switched to other hosts belonging to the same subnet. For this reason, VLANs are often referred to as broadcast domains. VLANs avoid wasting bandwidth caused by unnecessarily forwarding traffic to switches for which there are no potential recipients (i.e. switches that do not have ports belonging to that particular VLAN, or that do not connect to hosts belonging to the same subnet). For example, with reference to FIG. 1, layer-2 switch S2150 does not have any ports belonging to VLAN A 110 or VLAN B 120, but does have ports belonging to VLAN C 130. Thus, traffic originating from ports belonging to VLAN A 110 or VLAN B 120 is not forwarded to layer-2 switch S2150, but traffic originating from port P6140 VLAN C 130 is forwarded to layer-2 switch S2150 ports P1151 and P2152.
The subnet address that is commonly used as the basis for defining the layer-3 VLANs is a type of Internet Protocol address (IP address) used to route data packets across heterogeneous networks. IP addresses are 32-bit numbers that have a two-level structure: a network number and a host number. The network number uniquely identifies the network through which the host connects to the Internet, and the host number uniquely identifies the address, or location, of the host on that uniquely identified network. As the number of networks requiring access to the Internet has grown, a third level was introduced into Internet routing protocols to augment the original two-level addressing structure. This third level defines a sub-network, or “subnet.”
A subnet address may represent all the hosts at one geographic location, in one building, or on the same LAN or VLAN. An advantage to dividing a network into subnets is that it allows an organization (such as an ISP) to be connected to the Internet with a single shared network address. As a consequence, only one IP network address need be exported by routing protocols for all subnets belonging to a particular network, thereby reducing the routing overhead of the Internet. Without subnets, an ISP could get multiple connections to the Internet, one for each of its logically separate networks, but this would result in an inefficient and unnecessary use of the limited number of unique network numbers, as well as an unnecessary increase in the size of the global routing tables needed to properly route data packets from one network to another. The standard procedure for creating and identifying subnets is provided in Internet Request For Comments (RFC) 950.
Like VLANs, subnets can be used to contain network broadcast traffic, i.e. data packets from one subnet can be broadcast only to other hosts in the same subnet by using the appropriate broadcast IP addresses and routing protocols. In addition, a data packet can be broadcast to a specific subnet. In this way, a subnet is also considered a broadcast domain.
A typical use of the prior art layer-3 VLAN switches is in an ISP environment, where VLAN membership may be based on network layer information such as the layer-3 protocol type or layer-3 subnet address as previously described. Traditionally, the ISP assigns each of their subscribers to a separate VLAN based on a unique subnet address within the ISP's own IP address network space. However, there are a number of drawbacks to assigning each subscriber their own VLAN based on a unique subnet address.
One drawback is that implementations of a subnet addressing scheme must set aside certain special purpose IP addresses that cannot be used for host IP addresses. The special purpose IP addresses include at least two different broadcast IP addresses, a default router address (i.e. the address of the default gateway for the subnet), and, in an ISP environment, at least one IP address for a subscriber node.
The two broadcast IP addresses that must be set aside are fixed addresses with functional significance, i.e. they are used to broadcast data packets to the subnet. One is the “all hosts” address, consisting of the network number, subnet number, and all ones in the host number field. This address has the effect of transmitting the data packet to all of the hosts affiliated with that subnet. The other is the “this network” address, consisting of the network number, subnet number, and all zeroes in the host number field. This address has the effect of transmitting the data packet to the subnet only. The broadcasting IP addresses are useful when a host needs to request information but does not know exactly where to get it, or when a host needs to announce information to all other hosts on a subnet.
As a result of having to set aside these four types of special purpose and broadcast IP addresses, the IP address space overhead of subnets can become quite large, particularly when dividing a given IP network address space up into several smaller subnets, as is often the case in an ISP environment. For example, Table 1 illustrates the addressing overhead for an ISP that allocates 8 subnets to its subscribers, with each subnet being a /27 network (where the forward-slash notation refers to the length of the combined network number/subnet number prefix of the IP address).
TABLE 1IP Address# of Individual# of Special PurposePrefix lengthAddresses AvailableAddresses Required/2732 × 8 subnets = 2564 × 8 subnets = 32
As can be seen, each /27 network is capable of supporting only 28 hosts, because 4 of the potentially available host addresses must be set aside for the broadcast addresses, default router, and subscriber node. For the 8 subnets, this results in a greater than 12.5% loss in potential address space (32/256×100=12.5%). When multiplied by hundreds and thousands of subscriber subnets, this represents a significant waste of the available IP address space.
Another drawback to assigning each subscriber their own unique subnet, is the requirement of storing another 32-bit number, called a subnet mask, to support the interpretation of the IP addresses for each different subnet. The subnet mask is a bit-mask with bits set in the positions corresponding to the IP network number, and additional bits set in the positions corresponding to the subnet number. The bit positions corresponding to the host number default to zero.
An example of a subnet address mask used to define up to eight different subnets in a /24 network address space (also referred to as a Class C network) is shown in Table 2 below.
TABLE 2Dotted DecimalNotationBinary RepresentationIP193.1.1.0/2411000001.000000001.00000001.00000000AddressSubnet255.255.255.22411111111.111111111.11111111.11100000MaskAs can be seen, the subnet mask consists of 27 set bits, followed by 5 zero bits. The first 24 bits correspond to the binary network number prefix of the IP address, and the 25th-27th bits correspond to the subnet number prefix of the IP address, in this case a 3-bit binary number having a decimal value from 0 through 7. Together, they are referred to as the extended network prefix. The 5 zero bits represent the bits that define the host addresses on each subnet, for a total of 32 hosts. (As noted earlier, up to 4 of those 32 host addresses cannot be assigned to a host, but rather must be set aside for broadcast or other special purposes.)
Standard subnetting protocols require that the subnet mask be stored and compared by the router interface against the data packets to determine whether they can be sent directly to the destination on the local network or if they must be sent to a gateway. Therefore, the use of subnets results in an unavoidable amount of subnet mask storage and processing overhead that must be incurred when forwarding and routing data packets.
Yet another drawback to assigning each subscriber their own individual subnet is the constraints on the number and size of subnets imposed by the subnet addressing scheme itself. Since subnets must be defined along binary boundaries that yield host address blocks in powers of two, an ISP can only define as many subnets as will accommodate the host address space needed by the largest subnet. For example, a /24 network address space (Class C network) could be subnetted into 23 or 8127 subnets, each supporting 25, or 32 hosts, minus at least the two broadcast addresses, for a total of 30 hosts. If the largest subnet requires 50 host addresses, then the /24 network address space (Class C network) instead can only be divided into 22 or 4/26 subnets, each supporting (26-2), or 62 hosts. Even larger host address spaces, say 500-1000 hosts, would need their own /22 or /23 subnet carved out of a /16 network address space (Class B network). Since ISPs often service subscribers of varying and unpredictable size, assigning each subscriber an individual subnet can result in extremely inefficient allocation of the available host address space.
As the demand for Internet access has grown, the necessity of conserving IP address space and reducing routing overhead has become more critical. Moreover, ISPs are increasingly rolling out significantly scaled server co-location and hosting facilities for a variety of subscribers of unpredictable size, servicing smaller organizations consisting of fewer than 100 hosts, as well as larger organizations consisting of thousands of hosts each. Accordingly, a new approach for providing dynamic and efficient management of VLANs, the available IP address space, and routing protocols for network traffic is desirable.